Connected components on distributed memory machines
نویسندگان
چکیده
The eeorts of the theory community to develop eecient PRAM algorithms often receive little attention from application programmers. Although there are PRAM algorithm implementations that perform reasonably on shared memory machines, they often perform poorly on distributed memory machines, where the cost of remote memory accesses is relatively high. We present a hybrid approach to solving the connected components problem , whereby a PRAM algorithm is merged with a sequential algorithm and then optimized to create an eecient distributed memory implementation. The sequential algorithm handles local work on each processor, and the PRAM algorithm handles interactions between processors. Our hybrid algorithm uses the Shiloach-VishkinCRCW PRAM algorithm on a partition of the graph distributed over the processors and sequential breadth-rst search within each local subgraph. The implementation uses the Split-C language developed at Berkeley, which provides a global address space and allows us to easily manipulate the distributed graph data structure. We present our rst version, then provide a detailed account of the optimizations used to create the nal version. For graphs from real-world problems, we obtain speedups on the order of 20 on a 32-processor CM-5 and 238 on a 512-processor CM-5.
منابع مشابه
A Parallel Algorithm for Connected Components on Distributed Memory Machines
Finding connected components (CC) of an undirected graph is a fundamental computational problem. Various CC algorithms exist for PRAM models. An implementation of a PRAM CC algorithm on a coarse-grain MIMD machine with distributed memory brings many problems, since the communication overhead is substantial compared to the local computation. Several implementations of CC algorithms on distribute...
متن کاملA Typical Verification Challenge for the GRID
The task of detecting the strongly connected components of a very large graph is at the heart of many software verification procedures, such as model checking and state space minimization. In this context, the graphs represent system behaviour, i.e. all states of a system and all state transitions that are reachable from a given initial state. This so-called state space can be prohibitively lar...
متن کاملA Comparison of the Performance of List Ranking and Connected Components Algorithms on SMP and MTA Shared-Memory Systems
Irregular problems such as those from graph theory pose serious challenges for parallel machines due to non-contiguous accesses to global data structures with low degrees of locality. Few parallel graph algorithms on distributedor shared-memory machines can outperform their best sequential implementation due to long memory latencies and high synchronization costs. In this paper, we consider the...
متن کاملIndigo: User-Level Support for Building Distributed Shared Abstractions
Distributed systems that consist of workstations connected by high performance interconnects ooer computational power comparable to moderate size parallel machines. Middleware like Distributed Shared Memory (DSM) or Distributed Shared Objects (DSO) attempts to improve the programmability of such hardware by presenting to application programmers interfaces similar to those ooered by shared memor...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1994